The present invention relates to enterprise systems, and more particularly to techniques for manipulating searchable data associated with applications in an enterprise system.
Many businesses and other organizations use software applications and/or suites of such applications to organize their business affairs, track business performance, manage employee data and perform similar functions. These enterprise applications are often quite complex, relying on numerous database tables to store and manage data for virtually every aspect of an organization's business. Exemplary enterprise applications can include supply chain management (“SCM”) applications that manage raw materials, work-in-process and/or finished products, and coordinate with suppliers; customer relations management (“CRM”) applications that are used to track, store and/or manage customer information; financial applications that track and/or analyze the financial performance of the organization; human resources applications that provide management of the human resources functions of the organization; and other applications. In some cases, these applications are standalone applications; in other cases, a single business application or suite of applications might provide some or all such functionality. Specific, non-limiting examples of enterprise applications include JD Edwards Enterpriseone, PeopleSoft Enterprise applications (including, for example, PeopleSoft Enterprise Student Administration), and the Oracle eBusiness Suite, all available from Oracle Corporation.
Enterprise applications typically store and process business data in one or more data stores. In one configuration, the data is stored in one or more tables of a database managed by a relational database management system (“RDBMS”) and maintained by the business application. Each enterprise application may use a separate data store, which may be an independent database or portion of a database. Thus, for example, where a business system includes a CRM application and an enterprise resource planning (“ERP”) application, the CRM application may use a data store separate from the ERP application. Each application typically maintains and manages the data stored in its data store.
A relational database typically is designed to reduce or minimize redundancy in stored data by structuring the database tables to store data in a normalized form. This can result in a single business object being stored across multiple database tables. The stored data also may include information describing semantic relationships among objects represented by the stored data. Structured queries may be used to extract data from the relevant tables for processing and/or presentation to an end user of the business system. However, data stored in relational databases typically may not be stored or directly accessible in a format conducive to text searching, presentation to end users, or other context-related manipulation. Further, merely converting the stored data into a format that is more conducive to searching may ignore or lose information describing semantic relationships within the data.
In some search regimes, search engines may present similar items as part of the search results. For example, a search engine that indexes and searches web pages on the Internet may return search results based on keyword matching of words or terms provided by a user. The search engine may indicate that there are additional pages that are related to the search results, such as pages that have terms similar to, but not matching the keywords provided by the user, or web pages that appear to be directed to the same topic as selected search results. However, these similar pages are not based on semantic or any other relationships between the search results and the similar web pages.